
#pragma once
#include "stdafx.h"

class CLASS_DECLSPEC CWicComponentInfo
{
    //==============================================================================
    // CWicComponentInfo
    //==============================================================================
public:
    CWicComponentInfo(REFCLSID clsidComponent);
    CWicComponentInfo(CWicComponentInfo const &);
    virtual ~CWicComponentInfo(void);
    CWicComponentInfo& operator=(CWicComponentInfo const &);

    //==============================================================================
    // IWICComponentInfo
    //==============================================================================
public:
    virtual WICComponentType GetComponentType();

    virtual HRESULT GetCLSID(/* [out] */ CLSID *pclsid);

    virtual DWORD GetSigningStatus();

    virtual UINT GetAuthor(UINT uBufferLength, WCHAR *wzAuthor);

    virtual HRESULT GetVendorGUID(/* [out] */ GUID *pguidVendor);

    virtual UINT GetVersion(UINT uBufferLength, WCHAR *wzVersion);

    virtual UINT GetSpecVersion(UINT uBufferLength, WCHAR *wzSpecVersion);

    virtual UINT GetFriendlyName(UINT uBufferLength, WCHAR *wzFriendlyName);

private:
    IWICComponentInfo  *m_pIWICComponentInfo;
};

